package com.zhentao.service;

import com.baomidou.mybatisplus.extension.service.IService;
import com.github.pagehelper.PageInfo;
import com.zhentao.model.dto.product.ProductDto;
import com.zhentao.model.entity.product.Product;
import com.zhentao.model.vo.common.Result;
import org.apache.ibatis.annotations.Param;
import org.springframework.web.multipart.MultipartFile;

public interface ProductService extends IService<Product> {
    public PageInfo<Product> findByPage(Integer page, Integer limit, ProductDto productDto);

    /**
     * @param product
     * @return
     * 添加商品信息
     * 添加商品详情信息
     * 添加商品sku（商品规格）信息
     */
    public Result productSave(Product product);

    /**
     * @param id
     * @return
     *查询商品 规格（sku）、详情、商品信息的单条信息
     */
    public Result productFindOne(Long id);

    /**
     * @param product
     * @return
     * 修改商品 规格（sku）、详情、商品信息的单条信息
     */
    public Result productUpdate(Product product);

    /**
     * @param id
     * @return
     * 删除商品 规格（sku）、详情、商品信息的单条信息
     */
    public Result productDelete(Long id);


    /**
     * @param id
     * @param auditStatus
     * @return
     * 商品审核
     */
    public Result updateAuditStatus(Long id,Integer auditStatus);

    /**
     * @param id
     * @param status
     * @return
     * 商品上架、下架
     */
    public Result updateStatus(Long id,Integer status);



    String file(@Param("file") MultipartFile file);

}
